(function($){var console=window.console?window.console:{log:$.noop,error:function(msg){$.error(msg);}};function Wysiwyg(){this.controls={bold:{groupIndex:0,visible:true,tags:["b","strong"],css:{fontWeight:"bold"},tooltip:"Bold",hotkey:{"ctrl":1,"key":66}},copy:{groupIndex:8,visible:false,tooltip:"Copy"},createLink:{groupIndex:6,visible:true,exec:function(){var self=this;if($.wysiwyg.controls&&$.wysiwyg.controls.link){$.wysiwyg.controls.link.init(this);}else if($.wysiwyg.autoload){$.wysiwyg.autoload.control("wysiwyg.link.js",function(){self.controls.createLink.exec.apply(self);});}else{console.error("$.wysiwyg.controls.link not defined. You need to include wysiwyg.link.js file");}},tags:["a"],tooltip:"Create link"},cut:{groupIndex:8,visible:false,tooltip:"Cut"},decreaseFontSize:{groupIndex:9,visible:false&&!($.browser.msie),tags:["small"],tooltip:"Decrease font size",exec:function(){this.decreaseFontSize();}},h1:{groupIndex:7,visible:true,className:"h1",command:($.browser.msie||$.browser.safari)?"FormatBlock":"heading","arguments":($.browser.msie||$.browser.safari)?"
":"h1",tags:["h1"],tooltip:"Header 1"},h2:{groupIndex:7,visible:true,className:"h2",command:($.browser.msie||$.browser.safari)?"FormatBlock":"heading","arguments":($.browser.msie||$.browser.safari)?"":"h2",tags:["h2"],tooltip:"Header 2"},h3:{groupIndex:7,visible:true,className:"h3",command:($.browser.msie||$.browser.safari)?"FormatBlock":"heading","arguments":($.browser.msie||$.browser.safari)?"":"h3",tags:["h3"],tooltip:"Header 3"},highlight:{tooltip:"Highlight",className:"highlight",groupIndex:1,visible:false,css:{backgroundColor:"rgb(255, 255, 102)"},exec:function(){var command,node,selection,args;if($.browser.msie||$.browser.safari){command="backcolor";}else{command="hilitecolor";}
if($.browser.msie){node=this.getInternalRange().parentElement();}else{selection=this.getInternalSelection();node=selection.extentNode||selection.focusNode;while(node.style===undefined){node=node.parentNode;if(node.tagName&&node.tagName.toLowerCase()==="body"){return;}}}
if(node.style.backgroundColor==="rgb(255, 255, 102)"||node.style.backgroundColor==="#ffff66"){args="#ffffff";}else{args="#ffff66";}
this.editorDoc.execCommand(command,false,args);}},html:{groupIndex:10,visible:false,exec:function(){var elementHeight;if(this.options.resizeOptions&&$.fn.resizable){elementHeight=this.element.height();}
if(this.viewHTML){this.setContent($(this.original).val());$(this.original).hide();this.editor.show();if(this.options.resizeOptions&&$.fn.resizable){if(elementHeight===this.element.height()){this.element.height(elementHeight+this.editor.height());}
this.element.resizable($.extend(true,{alsoResize:this.editor},this.options.resizeOptions));}
this.ui.toolbar.find("li").each(function(){var li=$(this);if(li.hasClass("html")){li.removeClass("active");}else{li.attr("disabled","false");}});}else{this.saveContent();$(this.original).css({width:this.element.outerWidth()-6,height:this.element.height()-this.ui.toolbar.height()-6,resize:"none"}).show();this.editor.hide();if(this.options.resizeOptions&&$.fn.resizable){if(elementHeight===this.element.height()){this.element.height(this.ui.toolbar.height());}
this.element.resizable("destroy");}
this.ui.toolbar.find("li").each(function(){var li=$(this);if(li.hasClass("html")){li.addClass("active");}else{if(false===li.hasClass("fullscreen")){li.removeClass("active");li.attr("disabled","true");}}});}
this.viewHTML=!(this.viewHTML);},tooltip:"View source code"},increaseFontSize:{groupIndex:9,visible:false&&!($.browser.msie),tags:["big"],tooltip:"Increase font size",exec:function(){this.increaseFontSize();}},indent:{groupIndex:2,visible:true,tooltip:"Indent"},insertHorizontalRule:{groupIndex:6,visible:true,tags:["hr"],tooltip:"Insert Horizontal Rule"},insertImage:{groupIndex:6,visible:true,exec:function(){var self=this;if($.wysiwyg.controls&&$.wysiwyg.controls.image){$.wysiwyg.controls.image.init(this);}else if($.wysiwyg.autoload){$.wysiwyg.autoload.control("wysiwyg.image.js",function(){self.controls.insertImage.exec.apply(self);});}else{console.error("$.wysiwyg.controls.image not defined. You need to include wysiwyg.image.js file");}},tags:["img"],tooltip:"Insert image"},insertOrderedList:{groupIndex:5,visible:true,tags:["ol"],tooltip:"Insert Ordered List"},insertTable:{groupIndex:6,visible:true,exec:function(){var self=this;if($.wysiwyg.controls&&$.wysiwyg.controls.table){$.wysiwyg.controls.table(this);}else if($.wysiwyg.autoload){$.wysiwyg.autoload.control("wysiwyg.table.js",function(){self.controls.insertTable.exec.apply(self);});}else{console.error("$.wysiwyg.controls.table not defined. You need to include wysiwyg.table.js file");}},tags:["table"],tooltip:"Insert table"},insertUnorderedList:{groupIndex:5,visible:true,tags:["ul"],tooltip:"Insert Unordered List"},italic:{groupIndex:0,visible:true,tags:["i","em"],css:{fontStyle:"italic"},tooltip:"Italic",hotkey:{"ctrl":1,"key":73}},justifyCenter:{groupIndex:1,visible:true,tags:["center"],css:{textAlign:"center"},tooltip:"Justify Center"},justifyFull:{groupIndex:1,visible:true,css:{textAlign:"justify"},tooltip:"Justify Full"},justifyLeft:{visible:true,groupIndex:1,css:{textAlign:"left"},tooltip:"Justify Left"},justifyRight:{groupIndex:1,visible:true,css:{textAlign:"right"},tooltip:"Justify Right"},ltr:{groupIndex:10,visible:false,exec:function(){var range=this.getInternalRange(),p=this.dom.getElement("p");if(!p){return false;}
$(p).attr("dir","ltr");},tooltip:"Left to Right"},outdent:{groupIndex:2,visible:true,tooltip:"Outdent"},paragraph:{groupIndex:7,visible:false,className:"paragraph",command:"FormatBlock","arguments":($.browser.msie||$.browser.safari)?" ":"p",tags:["p"],tooltip:"Paragraph"},paste:{groupIndex:8,visible:false,tooltip:"Paste"},redo:{groupIndex:4,visible:true,tooltip:"Redo"},removeFormat:{groupIndex:10,visible:true,exec:function(){this.removeFormat();},tooltip:"Remove formatting"},rtl:{groupIndex:10,visible:false,exec:function(){var range=this.getInternalRange(),p=this.dom.getElement("p");if(!p){return false;}
$(p).attr("dir","rtl");},tooltip:"Right to Left"},strikeThrough:{groupIndex:0,visible:true,tags:["s","strike"],css:{textDecoration:"line-through"},tooltip:"Strike-through"},subscript:{groupIndex:3,visible:true,tags:["sub"],tooltip:"Subscript"},superscript:{groupIndex:3,visible:true,tags:["sup"],tooltip:"Superscript"},underline:{groupIndex:0,visible:true,tags:["u"],css:{textDecoration:"underline"},tooltip:"Underline",hotkey:{"ctrl":1,"key":85}},undo:{groupIndex:4,visible:true,tooltip:"Undo"}};this.defaults={html:'
INITIAL_CONTENT',debug:false,controls:{},css:{},events:{},autoGrow:false,autoSave:true,brIE:true,formHeight:270,formWidth:440,iFrameClass:null,initialContent:"",maxHeight:10000,maxLength:0,messages:{nonSelection:"Select the text you wish to link"},toolbarHtml:'',removeHeadings:false,replaceDivWithP:false,resizeOptions:false,rmUnusedControls:false,rmUnwantedBr:true,tableFiller:" ",initialMinHeight:null,controlImage:{forceRelativeUrls:false},controlLink:{forceRelativeUrls:false},plugins:{autoload:false,i18n:false,rmFormat:{rmMsWordMarkup:false}}};this.availableControlProperties=["arguments","callback","className","command","css","custom","exec","groupIndex","hotkey","icon","tags","tooltip","visible"];this.editor=null;this.editorDoc=null;this.element=null;this.options={};this.original=null;this.savedRange=null;this.timers=[];this.validKeyCodes=[8,9,13,16,17,18,19,20,27,33,34,35,36,37,38,39,40,45,46];this.isDestroyed=false;this.dom={ie:{parent:null},w3c:{parent:null}};this.dom.parent=this;this.dom.ie.parent=this.dom;this.dom.w3c.parent=this.dom;this.ui={};this.ui.self=this;this.ui.toolbar=null;this.ui.initialHeight=null;this.dom.getAncestor=function(element,filterTagName){filterTagName=filterTagName.toLowerCase();while(element&&"body"!==element.tagName.toLowerCase()){if(filterTagName===element.tagName.toLowerCase()){return element;}
element=element.parentNode;}
return null;};this.dom.getElement=function(filterTagName){var dom=this;if(window.getSelection){return dom.w3c.getElement(filterTagName);}else{return dom.ie.getElement(filterTagName);}};this.dom.ie.getElement=function(filterTagName){var dom=this.parent,selection=dom.parent.getInternalSelection(),range=selection.createRange(),element;if("Control"===selection.type){if(1===range.length){element=range.item(0);}else{return null;}}else{element=range.parentElement();}
return dom.getAncestor(element,filterTagName);};this.dom.w3c.getElement=function(filterTagName){var dom=this.parent,range=dom.parent.getInternalRange(),element;if(!range){return null;}
element=range.commonAncestorContainer;if(3===element.nodeType){element=element.parentNode;}
if(element===range.startContainer){element=element.childNodes[range.startOffset];}
return dom.getAncestor(element,filterTagName);};this.ui.addHoverClass=function(){$(this).addClass("wysiwyg-button-hover");};this.ui.appendControls=function(){var ui=this,self=this.self,controls=self.parseControls(),hasVisibleControls=true,groups=[],controlsByGroup={},i,currentGroupIndex,iterateGroup=function(controlName,control){if(control.groupIndex&¤tGroupIndex!==control.groupIndex){currentGroupIndex=control.groupIndex;hasVisibleControls=false;}
if(!control.visible){return;}
if(!hasVisibleControls){ui.appendItemSeparator();hasVisibleControls=true;}
if(control.custom){ui.appendItemCustom(controlName,control);}else{ui.appendItem(controlName,control);}};$.each(controls,function(name,c){var index="empty";if(undefined!==c.groupIndex){if(""===c.groupIndex){index="empty";}else{index=c.groupIndex;}}
if(undefined===controlsByGroup[index]){groups.push(index);controlsByGroup[index]={};}
controlsByGroup[index][name]=c;});groups.sort(function(a,b){if("number"===typeof(a)&&typeof(a)===typeof(b)){return(a-b);}else{a=""+a;b=""+b;if(a>b){return 1;}
if(a===b){return 0;}
return-1;}});if(0'+(className)+"").addClass(className).attr("title",tooltip).hover(this.addHoverClass,this.removeHoverClass).click(function(){if("true"===$(this).attr("disabled")){return false;}
self.triggerControl.apply(self,[name,control]);this.blur();self.ui.returnRange();self.ui.focus();}).appendTo(self.ui.toolbar);};this.ui.appendItemCustom=function(name,control){var self=this.self,tooltip=control.tooltip||control.command||name||"";if(control.callback){$(window).bind("trigger-"+name+".wysiwyg",control.callback);}
return $(' ').addClass("custom-command-"+name).addClass("wysiwyg-custom-command").addClass(name).attr("title",control.tooltip).hover(this.addHoverClass,this.removeHoverClass).click(function(){if("true"===$(this).attr("disabled")){return false;}
self.triggerControl.apply(self,[name,control]);this.blur();self.ui.returnRange();self.ui.focus();self.triggerControlCallback(name);}).appendTo(self.ui.toolbar);};this.ui.appendItemSeparator=function(){var self=this.self;return $(' ').appendTo(self.ui.toolbar);};this.autoSaveFunction=function(){this.saveContent();};this.ui.checkTargets=function(element){var self=this.self;$.each(self.options.controls,function(name,control){var className=control.className||control.command||name||"empty",tags,elm,css,el,checkActiveStatus=function(cssProperty,cssValue){var handler;if("function"===typeof(cssValue)){handler=cssValue;if(handler(el.css(cssProperty).toString().toLowerCase(),self)){self.ui.toolbar.find("."+className).addClass("active");}}else{if(el.css(cssProperty).toString().toLowerCase()===cssValue){self.ui.toolbar.find("."+className).addClass("active");}}};if("fullscreen"!==className){self.ui.toolbar.find("."+className).removeClass("active");}
if(control.tags||(control.options&&control.options.tags)){tags=control.tags||(control.options&&control.options.tags);elm=element;while(elm){if(elm.nodeType!==1){break;}
if($.inArray(elm.tagName.toLowerCase(),tags)!==-1){self.ui.toolbar.find("."+className).addClass("active");}
elm=elm.parentNode;}}
if(control.css||(control.options&&control.options.css)){css=control.css||(control.options&&control.options.css);el=$(element);while(el){if(el[0].nodeType!==1){break;}
$.each(css,checkActiveStatus);el=el.parent();}}});};this.ui.designMode=function(){var attempts=3,self=this.self,runner=function(attempts){if("on"===self.editorDoc.designMode){if(self.timers.designMode){window.clearTimeout(self.timers.designMode);}
if(self.innerDocument()!==self.editorDoc){self.ui.initFrame();}
return;}
try{self.editorDoc.designMode="on";}catch(e){}
attempts-=1;if(attempts>0){self.timers.designMode=window.setTimeout(function(){runner(attempts);},100);}};runner(attempts);};this.destroy=function(){this.isDestroyed=true;var i,$form=this.element.closest("form");for(i=0;i0){sel.removeAllRanges();}
try{sel.addRange(self.savedRange);}catch(e){console.error(e);}}else if(window.document.createRange){window.getSelection().addRange(self.savedRange);}else if(window.document.selection){self.savedRange.select();}
self.savedRange=null;}};this.increaseFontSize=function(){if($.browser.mozilla||$.browser.opera){this.editorDoc.execCommand('increaseFontSize',false,null);}else if($.browser.safari){var newNode=this.editorDoc.createElement('big');this.getInternalRange().surroundContents(newNode);}else{console.error("Internet Explorer?");}};this.decreaseFontSize=function(){if($.browser.mozilla||$.browser.opera){this.editorDoc.execCommand('decreaseFontSize',false,null);}else if($.browser.safari){var newNode=this.editorDoc.createElement('small');this.getInternalRange().surroundContents(newNode);}else{console.error("Internet Explorer?");}};this.getContent=function(){return this.events.filter('getContent',this.editorDoc.body.innerHTML);};this.events={_events:{},bind:function(eventName,callback){if(typeof(this._events.eventName)!="object"){this._events[eventName]=[];}
this._events[eventName].push(callback);},trigger:function(eventName,args){if(typeof(this._events.eventName)=="object"){var editor=this.editor;$.each(this._events,function(k,v){if(typeof(v)=="function"){v.apply(editor,args);}});}},filter:function(eventName,originalText){if(typeof(this._events.eventName)=="object"){var editor=this.editor;var args=Array.prototype.slice.call(arguments,1);$.each(this._events,function(k,v){if(typeof(v)=="function"){originalText=v.apply(editor,args);}});}
return originalText;}};this.getElementByAttributeValue=function(tagName,attributeName,attributeValue){var i,value,elements=this.editorDoc.getElementsByTagName(tagName);for(i=0;i0){return selection.getRangeAt(0);}else if(selection.createRange){return selection.createRange();}
return null;};this.getInternalSelection=function(){if(this.editor.get(0).contentWindow){if(this.editor.get(0).contentWindow.getSelection){return this.editor.get(0).contentWindow.getSelection();}
if(this.editor.get(0).contentWindow.selection){return this.editor.get(0).contentWindow.selection;}}
if(this.editorDoc.getSelection){return this.editorDoc.getSelection();}
if(this.editorDoc.selection){return this.editorDoc.selection;}
return null;};this.getRange=function(){var selection=this.getSelection();if(!selection){return null;}
if(selection.rangeCount&&selection.rangeCount>0){selection.getRangeAt(0);}else if(selection.createRange){return selection.createRange();}
return null;};this.getSelection=function(){return(window.getSelection)?window.getSelection():window.document.selection;};this.ui.grow=function(){var self=this.self,innerBody=$(self.editorDoc.body),innerHeight=$.browser.msie?innerBody[0].scrollHeight:innerBody.height()+2+20,minHeight=self.ui.initialHeight,height=Math.max(innerHeight,minHeight);height=Math.min(height,self.options.maxHeight);self.editor.attr("scrolling",height':"").attr("frameborder","0");if(this.options.iFrameClass){this.editor.addClass(this.options.iFrameClass);}else{this.editor.css({minHeight:(newY-6).toString()+"px",width:(newX>50)?(newX-8).toString()+"px":""});if($.browser.msie&&parseInt($.browser.version,10)<7){this.editor.css("height",newY.toString()+"px");}}
this.editor.attr("tabindex",$(element).attr("tabindex"));this.element=$("
").addClass("wysiwyg");if(!this.options.iFrameClass){this.element.css({width:(newX>0)?newX.toString()+"px":"100%"});}
$(element).hide().before(this.element);this.viewHTML=false;this.initialContent=$(element).val();this.ui.initFrame();if(this.options.resizeOptions&&$.fn.resizable){this.element.resizable($.extend(true,{alsoResize:this.editor},this.options.resizeOptions));}
if(this.options.autoSave){$form.bind("submit.wysiwyg",function(){self.autoSaveFunction();});}
$form.bind("reset.wysiwyg",function(){self.resetFunction();});};this.ui.initFrame=function(){var self=this.self,stylesheet,growHandler,saveHandler;self.ui.appendControls();self.element.append(self.ui.toolbar).append($("
").css({clear:"both"})).append(self.editor);self.editorDoc=self.innerDocument();if(self.isDestroyed){return null;}
self.ui.designMode();self.editorDoc.open();self.editorDoc.write(self.options.html.replace(/INITIAL_CONTENT/,function(){return self.wrapInitialContent();}));self.editorDoc.close();$.wysiwyg.plugin.bind(self);$(self.editorDoc).trigger("initFrame.wysiwyg");$(self.editorDoc).bind("click.wysiwyg",function(event){self.ui.checkTargets(event.target?event.target:event.srcElement);});$(self.original).focus(function(){if($(this).filter(":visible")){return;}
self.ui.focus();});$(self.editorDoc).keydown(function(event){var emptyContentRegex;if(event.keyCode===8){emptyContentRegex=/^<([\w]+)[^>]*>( )?<\/\1>$/;if(emptyContentRegex.test(self.getContent())){event.stopPropagation();return false;}}
return true;});if(!$.browser.msie){$(self.editorDoc).keydown(function(event){var controlName;if(event.ctrlKey||event.metaKey){for(controlName in self.controls){if(self.controls[controlName].hotkey&&self.controls[controlName].hotkey.ctrl){if(event.keyCode===self.controls[controlName].hotkey.key){self.triggerControl.apply(self,[controlName,self.controls[controlName]]);return false;}}}}
return true;});}else if(self.options.brIE){$(self.editorDoc).keydown(function(event){if(event.keyCode===13){var rng=self.getRange();rng.pasteHTML(" ");rng.collapse(false);rng.select();return false;}
return true;});}
if(self.options.plugins.rmFormat.rmMsWordMarkup){$(self.editorDoc).bind("keyup.wysiwyg",function(event){if(event.ctrlKey||event.metaKey){if(86===event.keyCode){if($.wysiwyg.rmFormat){if("object"===typeof(self.options.plugins.rmFormat.rmMsWordMarkup)){$.wysiwyg.rmFormat.run(self,{rules:{msWordMarkup:self.options.plugins.rmFormat.rmMsWordMarkup}});}else{$.wysiwyg.rmFormat.run(self,{rules:{msWordMarkup:{enabled:true}}});}}}}});}
if(self.options.autoSave){$(self.editorDoc).keydown(function(){self.autoSaveFunction();}).keyup(function(){self.autoSaveFunction();}).mousedown(function(){self.autoSaveFunction();}).bind($.support.noCloneEvent?"input.wysiwyg":"paste.wysiwyg",function(){self.autoSaveFunction();});}
if(self.options.autoGrow){if(self.options.initialMinHeight!==null){self.ui.initialHeight=self.options.initialMinHeight;}else{self.ui.initialHeight=$(self.editorDoc).height();}
$(self.editorDoc.body).css("border","1px solid white");growHandler=function(){self.ui.grow();};$(self.editorDoc).keyup(growHandler);$(self.editorDoc).bind("editorRefresh.wysiwyg",growHandler);self.ui.grow();}
if(self.options.css){if(String===self.options.css.constructor){if($.browser.msie){stylesheet=self.editorDoc.createStyleSheet(self.options.css);$(stylesheet).attr({"media":"all"});}else{stylesheet=$(" ").attr({"href":self.options.css,"media":"all","rel":"stylesheet","type":"text/css"});$(self.editorDoc).find("head").append(stylesheet);}}else{self.timers.initFrame_Css=window.setTimeout(function(){$(self.editorDoc.body).css(self.options.css);},0);}}
if(self.initialContent.length===0){if("function"===typeof(self.options.initialContent)){self.setContent(self.options.initialContent());}else{self.setContent(self.options.initialContent);}}
if(self.options.maxLength>0){$(self.editorDoc).keydown(function(event){if($(self.editorDoc).text().length>=self.options.maxLength&&$.inArray(event.which,self.validKeyCodes)==-1){event.preventDefault();}});}
$.each(self.options.events,function(key,handler){$(self.editorDoc).bind(key+".wysiwyg",function(event){handler.apply(self.editorDoc,[event,self]);});});if($.browser.msie){$(self.editorDoc).bind("beforedeactivate.wysiwyg",function(){self.savedRange=self.getInternalRange();});}else{$(self.editorDoc).bind("blur.wysiwyg",function(){self.savedRange=self.getInternalRange();});}
$(self.editorDoc.body).addClass("wysiwyg");if(self.options.events&&self.options.events.save){saveHandler=self.options.events.save;$(self.editorDoc).bind("keyup.wysiwyg",saveHandler);$(self.editorDoc).bind("change.wysiwyg",saveHandler);if($.support.noCloneEvent){$(self.editorDoc).bind("input.wysiwyg",saveHandler);}else{$(self.editorDoc).bind("paste.wysiwyg",saveHandler);$(self.editorDoc).bind("cut.wysiwyg",saveHandler);}}
if(self.options.xhtml5){var replacements={nbsp:"#00A0",iexcl:"#00A1",cent:"#00A2",pound:"#00A3",curren:"#00A4",yen:"#00A5",brvbar:"#00A6",sect:"#00A7",uml:"#00A8",copy:"#00A9",ordf:"#00AA",laquo:"#00AB",not:"#00AC",shy:"#00AD",reg:"#00AE",macr:"#00AF",deg:"#00B0",plusmn:"#00B1",sup2:"#00B2",sup3:"#00B3",acute:"#00B4",micro:"#00B5",para:"#00B6",middot:"#00B7",cedil:"#00B8",sup1:"#00B9",ordm:"#00BA",raquo:"#00BB",frac14:"#00BC",frac12:"#00BD",frac34:"#00BE",iquest:"#00BF",Agrave:"#00C0",Aacute:"#00C1",Acirc:"#00C2",Atilde:"#00C3",Auml:"#00C4",Aring:"#00C5",AElig:"#00C6",Ccedil:"#00C7",Egrave:"#00C8",Eacute:"#00C9",Ecirc:"#00CA",Euml:"#00CB",Igrave:"#00CC",Iacute:"#00CD",Icirc:"#00CE",Iuml:"#00CF",ETH:"#00D0",Ntilde:"#00D1",Ograve:"#00D2",Oacute:"#00D3",Ocirc:"#00D4",Otilde:"#00D5",Ouml:"#00D6",times:"#00D7",Oslash:"#00D8",Ugrave:"#00D9",Uacute:"#00DA",Ucirc:"#00DB",Uuml:"#00DC",Yacute:"#00DD",THORN:"#00DE",szlig:"#00DF",agrave:"#00E0",aacute:"#00E1",acirc:"#00E2",atilde:"#00E3",auml:"#00E4",aring:"#00E5",aelig:"#00E6",ccedil:"#00E7",egrave:"#00E8",eacute:"#00E9",ecirc:"#00EA",euml:"#00EB",igrave:"#00EC",iacute:"#00ED",icirc:"#00EE",iuml:"#00EF",eth:"#00F0",ntilde:"#00F1",ograve:"#00F2",oacute:"#00F3",ocirc:"#00F4",otilde:"#00F5",ouml:"#00F6",divide:"#00F7",oslash:"#00F8",ugrave:"#00F9",uacute:"#00FA",ucirc:"#00FB",uuml:"#00FC",yacute:"#00FD",thorn:"#00FE",yuml:"#00FF",OElig:"#0152",oelig:"#0153",Scaron:"#0160",scaron:"#0161",Yuml:"#0178",fnof:"#0192",circ:"#02C6",tilde:"#02DC",Alpha:"#0391",Beta:"#0392",Gamma:"#0393",Delta:"#0394",Epsilon:"#0395",Zeta:"#0396",Eta:"#0397",Theta:"#0398",Iota:"#0399",Kappa:"#039A",Lambda:"#039B",Mu:"#039C",Nu:"#039D",Xi:"#039E",Omicron:"#039F",Pi:"#03A0",Rho:"#03A1",Sigma:"#03A3",Tau:"#03A4",Upsilon:"#03A5",Phi:"#03A6",Chi:"#03A7",Psi:"#03A8",Omega:"#03A9",alpha:"#03B1",beta:"#03B2",gamma:"#03B3",delta:"#03B4",epsilon:"#03B5",zeta:"#03B6",eta:"#03B7",theta:"#03B8",iota:"#03B9",kappa:"#03BA",lambda:"#03BB",mu:"#03BC",nu:"#03BD",xi:"#03BE",omicron:"#03BF",pi:"#03C0",rho:"#03C1",sigmaf:"#03C2",sigma:"#03C3",tau:"#03C4",upsilon:"#03C5",phi:"#03C6",chi:"#03C7",psi:"#03C8",omega:"#03C9",thetasym:"#03D1",upsih:"#03D2",piv:"#03D6",ensp:"#2002",emsp:"#2003",thinsp:"#2009",zwnj:"#200C",zwj:"#200D",lrm:"#200E",rlm:"#200F",ndash:"#2013",mdash:"#2014",lsquo:"#2018",rsquo:"#2019",sbquo:"#201A",ldquo:"#201C",rdquo:"#201D",bdquo:"#201E",dagger:"#2020",Dagger:"#2021",bull:"#2022",hellip:"#2026",permil:"#2030",prime:"#2032",Prime:"#2033",lsaquo:"#2039",rsaquo:"#203A",oline:"#203E",frasl:"#2044",euro:"#20AC",image:"#2111",weierp:"#2118",real:"#211C",trade:"#2122",alefsym:"#2135",larr:"#2190",uarr:"#2191",rarr:"#2192",darr:"#2193",harr:"#2194",crarr:"#21B5",lArr:"#21D0",uArr:"#21D1",rArr:"#21D2",dArr:"#21D3",hArr:"#21D4",forall:"#2200",part:"#2202",exist:"#2203",empty:"#2205",nabla:"#2207",isin:"#2208",notin:"#2209",ni:"#220B",prod:"#220F",sum:"#2211",minus:"#2212",lowast:"#2217",radic:"#221A",prop:"#221D",infin:"#221E",ang:"#2220",and:"#2227",or:"#2228",cap:"#2229",cup:"#222A","int":"#222B",there4:"#2234",sim:"#223C",cong:"#2245",asymp:"#2248",ne:"#2260",equiv:"#2261",le:"#2264",ge:"#2265",sub:"#2282",sup:"#2283",nsub:"#2284",sube:"#2286",supe:"#2287",oplus:"#2295",otimes:"#2297",perp:"#22A5",sdot:"#22C5",lceil:"#2308",rceil:"#2309",lfloor:"#230A",rfloor:"#230B",lang:"#27E8",rang:"#27E9",loz:"#25CA",spades:"#2660",clubs:"#2663",hearts:"#2665",diams:"#2666"};this.events.bind("getContent",function(text){return text.replace(/&([a-zA-Z0-9]+);/g,function(str,p1){if(!replacements[p1]){p1=p1.toLowerCase();}
return replacements[p1]?"&"+replacements[p1]+";":"";});});}};this.innerDocument=function(){var element=this.editor.get(0);if(element.nodeName.toLowerCase()==="iframe"){if(element.contentDocument){return element.contentDocument;}else if(element.contentWindow){return element.contentWindow.document;}
if(this.isDestroyed){return null;}
console.error("Unexpected error in innerDocument");}
return element;};this.insertHtml=function(szHTML){var img,range;if(!szHTML||szHTML.length===0){return this;}
if($.browser.msie){this.ui.focus();this.editorDoc.execCommand("insertImage",false,"#jwysiwyg#");img=this.getElementByAttributeValue("img","src","#jwysiwyg#");if(img){$(img).replaceWith(szHTML);}}else{if($.browser.mozilla){range=this.getInternalRange();range.deleteContents();range.insertNode($(szHTML).get(0));}else{if(!this.editorDoc.execCommand("insertHTML",false,szHTML)){this.editor.focus();this.editorDoc.execCommand("insertHTML",false,szHTML);}}}
return this;};this.parseControls=function(){var self=this;$.each(this.options.controls,function(controlName,control){$.each(control,function(propertyName){if(-1===$.inArray(propertyName,self.availableControlProperties)){throw controlName+'["'+propertyName+'"]: property "'+propertyName+'" not exists in Wysiwyg.availableControlProperties';}});});if(this.options.parseControls){return this.options.parseControls.call(this);}
return this.options.controls;};this.removeFormat=function(){if($.browser.msie){this.ui.focus();}
if(this.options.removeHeadings){this.editorDoc.execCommand("formatBlock",false,"");}
this.editorDoc.execCommand("removeFormat",false,null);this.editorDoc.execCommand("unlink",false,null);if($.wysiwyg.rmFormat&&$.wysiwyg.rmFormat.enabled){$.wysiwyg.rmFormat.run(this);}
return this;};this.ui.removeHoverClass=function(){$(this).removeClass("wysiwyg-button-hover");};this.resetFunction=function(){this.setContent(this.initialContent);this.saveContent();};this.saveContent=function(){if(this.original){var content,newContent;if(this.viewHTML){this.setContent($(this.original).val());}
content=this.getContent();if(this.options.rmUnwantedBr){content=content.replace(/ $/,"");}
if(this.options.replaceDivWithP){newContent=$("
").addClass("temp").append(content);newContent.children("div").each(function(){var element=$(this),p=element.find("p"),i;if(0===p.length){p=$("
");if(this.attributes.length>0){for(i=0;i/gi);if(!found){return ""+content+"
";}else{}
return content;};}
$.wysiwyg={messages:{noObject:"Something goes wrong, check object"},addControl:function(object,name,settings){return object.each(function(){var oWysiwyg=$(this).data("wysiwyg"),customControl={},toolbar;if(!oWysiwyg){return this;}
customControl[name]=$.extend(true,{visible:true,custom:true},settings);$.extend(true,oWysiwyg.options.controls,customControl);toolbar=$(oWysiwyg.options.toolbarHtml);oWysiwyg.ui.toolbar.replaceWith(toolbar);oWysiwyg.ui.toolbar=toolbar;oWysiwyg.ui.appendControls();});},clear:function(object){return object.each(function(){var oWysiwyg=$(this).data("wysiwyg");if(!oWysiwyg){return this;}
oWysiwyg.setContent("");oWysiwyg.saveContent();});},console:console,destroy:function(object){return object.each(function(){var oWysiwyg=$(this).data("wysiwyg");if(!oWysiwyg){return this;}
oWysiwyg.destroy();});},"document":function(object){var oWysiwyg=object.data("wysiwyg");if(!oWysiwyg){return undefined;}
return $(oWysiwyg.editorDoc);},getContent:function(object){var oWysiwyg=object.data("wysiwyg");if(!oWysiwyg){return undefined;}
return oWysiwyg.getContent();},init:function(object,options){return object.each(function(){var opts=$.extend(true,{},options),obj;if(("textarea"!==this.nodeName.toLowerCase())||$(this).data("wysiwyg")){return;}
obj=new Wysiwyg();obj.init(this,opts);$.data(this,"wysiwyg",obj);$(obj.editorDoc).trigger("afterInit.wysiwyg");});},insertHtml:function(object,szHTML){return object.each(function(){var oWysiwyg=$(this).data("wysiwyg");if(!oWysiwyg){return this;}
oWysiwyg.insertHtml(szHTML);});},plugin:{listeners:{},bind:function(Wysiwyg){var self=this;$.each(this.listeners,function(action,handlers){var i,plugin;for(i=0;ielements.length){return false;}
return{name:elements[0],method:elements[1]};},register:function(data){if(!data.name){console.error("Plugin name missing");}
$.each($.wysiwyg,function(pluginName){if(pluginName===data.name){console.error("Plugin with name '"+data.name+"' was already registered");}});$.wysiwyg[data.name]=data;return true;}},removeFormat:function(object){return object.each(function(){var oWysiwyg=$(this).data("wysiwyg");if(!oWysiwyg){return this;}
oWysiwyg.removeFormat();});},save:function(object){return object.each(function(){var oWysiwyg=$(this).data("wysiwyg");if(!oWysiwyg){return this;}
oWysiwyg.saveContent();});},selectAll:function(object){var oWysiwyg=object.data("wysiwyg"),oBody,oRange,selection;if(!oWysiwyg){return this;}
oBody=oWysiwyg.editorDoc.body;if(window.getSelection){selection=oWysiwyg.getInternalSelection();selection.selectAllChildren(oBody);}else{oRange=oBody.createTextRange();oRange.moveToElementText(oBody);oRange.select();}},setContent:function(object,newContent){return object.each(function(){var oWysiwyg=$(this).data("wysiwyg");if(!oWysiwyg){return this;}
oWysiwyg.setContent(newContent);oWysiwyg.saveContent();});},triggerControl:function(object,controlName){return object.each(function(){var oWysiwyg=$(this).data("wysiwyg");if(!oWysiwyg){return this;}
if(!oWysiwyg.controls[controlName]){console.error("Control '"+controlName+"' not exists");}
oWysiwyg.triggerControl.apply(oWysiwyg,[controlName,oWysiwyg.controls[controlName]]);});},utils:{extraSafeEntities:[["<",">","'",'"'," "],[32]],encodeEntities:function(str){var self=this,aStr,aRet=[];if(this.extraSafeEntities[1].length===0){$.each(this.extraSafeEntities[0],function(i,ch){self.extraSafeEntities[1].push(ch.charCodeAt());});}
aStr=str.split("");$.each(aStr,function(i){var iC=aStr[i].charCodeAt();if($.inArray(iC,self.extraSafeEntities[1])&&(iC<65||iC>127||(iC>90&&iC<97))){aRet.push(''+iC+';');}else{aRet.push(aStr[i]);}});return aRet.join('');}}};$.fn.wysiwyg=function(method){var args=arguments,plugin;if("undefined"!==typeof $.wysiwyg[method]){args=Array.prototype.concat.call([args[0]],[this],Array.prototype.slice.call(args,1));return $.wysiwyg[method].apply($.wysiwyg,Array.prototype.slice.call(args,1));}else if("object"===typeof method||!method){Array.prototype.unshift.call(args,this);return $.wysiwyg.init.apply($.wysiwyg,args);}else if($.wysiwyg.plugin.exists(method)){plugin=$.wysiwyg.plugin.parseName(method);args=Array.prototype.concat.call([args[0]],[this],Array.prototype.slice.call(args,1));return $.wysiwyg[plugin.name][plugin.method].apply($.wysiwyg[plugin.name],Array.prototype.slice.call(args,1));}else{console.error("Method '"+method+"' does not exist on jQuery.wysiwyg.\nTry to include some extra controls or plugins");}};$.fn.getWysiwyg=function(){return $.data(this,"wysiwyg");};})(jQuery);